package com.xuecheng.media.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.base.model.PageParams;
import com.xuecheng.base.model.PageResult;
import com.xuecheng.content.model.dto.*;
import com.xuecheng.content.model.po.MediaFiles;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 媒资信息 服务类
 * </p>
 *
 * @author Mia
 * @since 2025-06-02
 */
public interface MediaFilesService extends IService<MediaFiles> {
    List<MediaFilesTaskDto> selectWaitConvertedVideos();

    MediaFilesUploadResultDto uploadFilesCourseBase(MultipartFile file,Long courseId);

    MediaFiles convertedToMediaFile(MultPartFileInfoInit fileInfo);

    PageResult<MediaFiles> queryMediaFiels(Long companyId, PageParams pageParams, QueryMediaParamsDto queryMediaParamsDto);

    Boolean deleteUploadImageCourseBase(Long courseId);

    void deleteMinioById(String fileId);

    Boolean deleteUploadImageCourseTeacher(Long teacherId);

    MediaFilesUploadResultDto uploadFilesCourseTeacher(MultipartFile file, Long teacherId);

    TeachplanAndTMediaAndMediaFileDto uploadCourseOutlineNode(MultipartFile file, Long teacherId);

    int insert(MediaFiles mediaFilesNew);

    int updateNotEmpty(MediaFiles mediaFiles);

    int updateNotEmptyByFileId(MediaFiles mediaFiles);

    String selectUrlById(Long mediaId);
}
